package main

import (
	"fmt"
	"runtime"
	"time"
)

// runtime.Gosched()
// 让出CPU时间片，重新等待安排任务
// func show(s string) {
// 	for i := 0; i < 2; i++ {
// 		fmt.Println(s)
// 	}
// }
// func main() {
// 	go show("java")
// 	//主协程
// 	for i := 0; i < 2; i++ {
// 		//切一下，再次分配任务
// 		runtime.Gosched()
// 		fmt.Println("golang")
// 	}
// }

// runtime.Goexit()
// 退出当前协程
// func show() {
// 	for i := 0; i < 10; i++ {
// 		if i >= 5 {
// 			runtime.Goexit()
// 		}
// 		fmt.Printf("i:%v\n", i)
// 	}
// }
// func main() {
// 	go show()
// 	time.Sleep(time.Second)
// }

// runtime.GOMAXPROCS
func a() {
	for i := 0; i < 10; i++ {
		fmt.Println("A:", i)
	}
}
func b() {
	for i := 0; i < 10; i++ {
		fmt.Println("B:", i)
	}
}
func main() {
	fmt.Printf("runtime.NumCPU(): %v\n", runtime.NumCPU())
	runtime.GOMAXPROCS(2)
	go a()
	go b()
	time.Sleep(time.Second)
}
